// 用户路由单元
var express = require('express');
var router = express.Router();
// 导入连接池对象
const sql = require('../db/index')
// 引入jwt
const jwt = require('jsonwebtoken')

// 引入响应体
const Response = require('../utils/response')



router.get('/findAll', async (req, res) => {
  const [response] = await sql.query('select * from site_swipe')
  console.log(response);

  res.send(new Response(200, '查询成功', response))
})

// 删除数据的接口
router.get('/deleteById', async (req, res) => {
  const { id } = req.query;
  try {
    // 使用连接池执行查询
    await sql.query('DELETE FROM site_swipe WHERE id = ?', [id]);
    // 返回成功响应
    res.send(new Response(200, '删除成功', null))
  } catch (error) {
    // 处理可能的错误
    res.send(new Response(500, '删除失败', null))
  }
});

// 轮播图
router.post('/saveOrUpdate', async (req, res) => {
  const { id, name, url, status, introduce } = req.body;
  try {
    // 检查 id 是否存在
    const [existsById] = await sql.query('SELECT * FROM site_swipe WHERE id =?', [id]);

    if (id && existsById.length > 0) {
      // 如果 id 存在，则更新记录
      await sql.query('UPDATE site_swipe SET name =?, url =?, status =?, introduce =? WHERE id =?', [name, url, status, introduce, id]);
      res.send(new Response(200, '更新成功', null));
    } else if (!id) {
      // 如果 id 不存在，则检查 name 是否存在
      const [existsByName] = await sql.query('SELECT * FROM site_swipe WHERE name =?', [name]);
      if (existsByName.length > 0) {
        // 如果 name 存在，则返回已存在的信息
        res.send(new Response(400, '轮播图已经存在', null));
      } else {
        // 如果 name 不存在，则插入新记录
        await sql.query('INSERT INTO site_swipe (name, url, status, introduce) VALUES (?,?,?,?)', [name, url, status, introduce]);
        res.send(new Response(200, '保存成功', null));
      }
    }
  } catch (error) {
    res.send(new Response(500, '保存或更新失败', null));
  }
});




module.exports = router;
